<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<!--<div>-->
		<!--<pre>
			var color = "blue"
			function changeColor(){
				if(color === "blue"){
					color = "red";
				}
				else{
					color = "blue"
				}
			}
			changeColor();
			alert("color is now" + color)
		</pre>
		</div>
		<script>
			var color = "blue"
			function changeColor(){
				if(color === "blue"){
					color = "red";
				}
				else{
					color = "blue"
				}
			}
			changeColor();
			alert("color is now" + color)
		</script>-->
		<!--<div>
			<pre>
				function displayInfo(args){
				if(typeof args.name == "string"){
					output += "name:"+args.name + "\n";
				}
				if (typeof args.age == "number"){
						output += "Age:"+args.age + "\n";
				}
				alert(output);
			}
			displayInfo({
				name:"nico",
				age: 15
			});
			displayInfo({
				name:"花花",
			});
				
			</pre>
		</div>-->
		<script>
//			function displayInfo(args){
//				var output ="";
//				if(typeof args.name == "string"){
//					output += "name:"+args.name + "\n";
//				}
//				if (typeof args.age == "number"){
//						output += "Age:"+args.age + "\n";
//				}
//				alert(output);
//			}
//			displayInfo({
//				name:"nico",
//				age: 15
//			});
//			displayInfo({
//				name:"花花",
//			});




//alert( sum(10,10));
//function sum(num1,num2){
//	return num1+num2;
//}


// function fac(num){
// 	if(num<1){
// 		return 1;
// 	}else{
// 		return num * arguments.callee(num-1)
// 	}
// }
//	var trfac = fac;
//	fac = function(){
//		return 0;
//	}
//	alert(trfac(4));
//	alert(fac(5));

//function outer(){
//	inner();
//}
//function inner(){
//	alert(arguments.callee.caller);
//}
//outer();
//	function comper(v1,v2){
//		if(v1 > v2){
//			return 1 ;
//		}
//		else if (v1 == v2 ){
//			return 0 ;
//		}
//		
//		else if(v1 < v2){
//			return -1;
//		}
//		
//	}
//	var res = comper(3,2);
//	console.log(res);
//	
//function creat(){
//	  res = new Array();
//	res[0] = 5;
//	res[1] = 15;
//	res[2] = 25;
//	res[3] = 35;
//	res[4] = 45;
//	res[5] = 55;
//	res[6] = 65;
//	
//	
//	  
//	  
//	  
//	  
//	for(var i = 0 ; i < 10; i++){
//		res[i] = function(i){
//			return function(){
//				return num;
//					console.log("num:"+num);
//					console.log("res[]"+res[i]);
//			}
//		}(i);
//		console.log("i:"+i);
//		
//	}
//	return res;
//
//}
//function creat(){
//	  res = new Array();
//	for(var i = 0 ; i < 10; i++){
//		res[i] = function(){
//			return i;
//		
//		}
//		console.log(i)
//	}
//	return res;
//
//}
//	
	
//creat();
//	console.log("res:"+res)
//	
// function sum() {
//   var count=null;
//   for (var i = 0; i < arguments.length; i++) {
//       count+=arguments[i];
//
//   }
//   return count;
// }
// var result=sum(10,20,'30','haoo');
// console.log(result);

// 输出500
//var arr = [[1, 2, 3], [400, 500, 600], '-'];
//function aler(){
//	var x1 = arr.pop();
//	var x2 =arr.pop();
//	console.log(x2);
//	var x3 = x2.indexOf(500);
//	alert(x2[x3])
//	
//}
//aler();
//function foo(x) {
//  alert(x); // 10
//  for (var i=0; i<arguments.length; i++) {
//      alert(arguments[i]); // 10, 20, 30
//  }
//}
//foo(10, 20, 30);

//
//function foo(a, b) {
//  var i, rest = [];
//  if (arguments.length > 2) {
//      for (i = 2; i<arguments.length; i++) {
//          rest.push(arguments[i]);
//      }
//  }
//  console.log('a = ' + a);
//  console.log('b = ' + b);
//  console.log(rest);
//}
//function foo(a, b, ...rest) {
//  console.log('a = ' + a);
//  console.log('b = ' + b);
//  console.log(rest);
//}
//
//foo(1, 2, 3, 4, 5);
//// 结果:
//// a = 1
//// b = 2
//// Array [ 3, 4, 5 ]
//
//foo(1);
// 结果:
// a = 1
// b = undefined
//// Array []
//function foo() {
//	  var y = 'Bob';
//  var x = 'Hello, ' + y;
//  alert(x);
//
//}
//
//foo();
////
//var xiaoming = {
//  name: '小明',
//  birth: 1990,
//  age: function () {
//      var y = new Date().getFullYear();
//   console.log(y - this.birth) 
//  }
//};
//
//xiaoming.age; // function xiaoming.age()
//xiaoming.age(); // 今年调用是25,明年调用就变成26了
//var count = 0;
//var oldParseInt = parseInt; // 保存原函数

//window.parseInt = function () {
//  count += 1;
//  return oldParseInt.apply(null, arguments); // 调用原函数
//};

// 测试:
//console.log( parseInt('10'));
//console.log( parseInt('20'));
//console.log( parseInt('30'));
//console.log( count); // 3

//	function product(arr) {
//
//	return  arr.reduce(function(x,y){
//	return x*y ;
//	})    
//		}
//	
//
//// 测试:
//	if (product([1, 2, 3, 4]) === 24 && product([0, 1, 2]) === 0 && product([99, 88, 77, 66]) === 44274384) {
//  	alert('测试通过!');
//	}
//	else {
//  	alert('测试失败!');
//	}

//**********************************************//
//*********将纯数字字符串转化成数字*******************//

//
//
//function string2int(s) {
//
// var arr = s.split('')    
// return arr.map(function(x){
//	return x- 0;
//}).reduce(function(x,y){
// return	x*10 +y
//})
//
//
//
//}
//
//// 测试:
//if (string2int('0') === 0 && string2int('12345') === 12345 && string2int('12300') === 12300) {
//  if (string2int.toString().indexOf('parseInt') !== -1) {
//      alert('请勿使用parseInt()!');
//  } else if (string2int.toString().indexOf('Number') !== -1) {
//      alert('请勿使用Number()!');
//  } else {
//      alert('测试通过!');
//  }
//}
//else {
//  alert('测试失败!');
//}
//

//
//	var name = "The Window";
//　　var object = {
//　　　　name : "My Object",
//　　　　getNameFunc : function(){
//　　　　　　return function(){
//　　　　　　　　return this.name;
//　　　　　　};
//　　　　}
//　　};
//　　alert(object.getNameFunc()());

//
//function lazy_sum(arr) {
//  var sum = function () {
//      return arr.reduce(function (x, y) {
//          return x + y;
//      });
//  }
//  return sum;
//}
//var f = lazy_sum([2, 2, 3, 4, 5]); 
//console.log(f());
//
var xiaoming = {
    name: '小明',
    age: 14,
    gender: true,
    height: 1.65,
    grade: null,
    'middle-school': '\"W3C\" Middle School',
    skills: ['JavaScript', 'Java', 'Python', 'Lisp']
};

 var x =JSON.stringify(xiaoming, null, '  ');
console.log(x);
		</script>
	</body>
</html>
